package com.yuju.account.service;

import java.io.IOException;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.yuju.account.dao.entity.UnitAccount;
import com.yuju.account.model.UnitAccountModel;
import com.yuju.common.PageModel;
import com.yuju.common.core.service.IBaseService;

/**
 * 类名：IUnitAccountService  <br />
 *
 * 功能：
 *
 * @author : jiaokn <br />
 * @Date : 2017年11月27日 上午10:26:58  <br />
 * @version : 1.1 <br />
 */
public interface IUnitAccountService extends IBaseService<UnitAccountModel, UnitAccount, String> {
	
	BigDecimal listUnitAccountSum(UnitAccountModel unitAccountModel);
	
	
	/**
	 * 功能：单位账务/帐套结账<br/>
	 *
	 * @author jiaokn
	 * @Date 2017年12月9日 下午5:53:21 <br/>
	 */
	String saveSettle(Map<String, Object> param);
	
	public byte[] expBusinessDailySubRpt(UnitAccountModel unitAccountModel) throws IOException;
	public byte[] expUnitAccountExcel(UnitAccountModel unitAccountModel) throws IOException;
	
	/**
	 * 功能：获得单位预收款余额<br/>
	 *
	 * @author jiaokn
	 * @Date 2017年12月23日 下午3:51:54 <br/>
	 */
	Map<Object, Object> getYSK(UnitAccountModel unitAccountModel);
	
	/**
	 * 功能: 单位账务列表查询（不分页）<br/>
	 *
	 * @author jiaokn
	 * @Date 2017年12月16日 下午4:23:04 <br/>
	 */
	List<UnitAccount> listUnitAccount(UnitAccountModel unitAccountModel);
	
	/**
	 * 功能：查找实收的单位账务<br/>
	 *
	 * @author jiaokn
	 * @Date 2017年12月16日 下午5:43:52 <br/>
	 */
	PageModel listUnitAccountSS(UnitAccountModel unitAccountModel,Integer currentPage, Integer rows);
	
	List<UnitAccountModel> listUnitAccountSSNoPage(UnitAccountModel unitAccountModel);
	
	/**
	 * 功能：单位账务列表查询<br/>
	 *
	 * @author jiaokn
	 * @Date 2017年12月15日 下午2:50:53 <br/>
	 */
	PageModel pageListUnitAccount(UnitAccountModel unitAccountModel,Integer currentPage, Integer rows);
	
	
	
	/**
	 * 功能：单位账务处理列表<br/>
	 *
	 * @author jiaokn
	 * @Date 2017年12月16日 上午11:13:07 <br/>
	 */
	PageModel listUnitAccountAndSum(UnitAccountModel unitAccountModel,Integer currentPage, Integer rows);
	
	
	/**
	 * 功能：新增单位账务（不结算）<br/>
	 *
	 * @author jiaokn
	 * @Date 2017年12月14日 下午4:54:14 <br/>
	 */
	String saveUnitAccountList(Map<String, Object> param);
	
	/**
	 * 功能：新增单位账务<br/>
	 *
	 * @author jiaokn
	 * @Date 2017年12月9日 下午5:53:35 <br/>
	 */
	int saveUnitAccount(UnitAccountModel unitAccountModel);
}
